/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Clases;

import java.util.List;
import net.sf.jasperreports.engine.JRDataSource;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRField;

/**
 *
 * @author Ricardo
 */
public class OrdenDetallesDataSource implements JRDataSource{
    private int indiceParticipanteActual = -1;
    private String codigoProveedor;
    private List<OrdenDetalle> detalles = null;
    
    public OrdenDetallesDataSource(String codigoOrden, String codigoProveedor){
        detalles=Consulta.getOrden(codigoOrden).getDetalles();
        this.codigoProveedor=codigoProveedor;
    }
    
    @Override
    public boolean next() throws JRException {
        return ++indiceParticipanteActual < detalles.size();
    }

    @Override
    public Object getFieldValue(JRField jrf) throws JRException {
               Object valor = null;

        if ("codigo".equals(jrf.getName())) {
            valor = detalles.get(indiceParticipanteActual).getProducto().getCodigoProducto();
        } else if ("producto".equals(jrf.getName())) {
            valor = detalles.get(indiceParticipanteActual).getProducto().getDescripcionProducto();
        } else if ("cantidad".equals(jrf.getName())) {
            valor = detalles.get(indiceParticipanteActual).getCantidad();
        } else if ("precio".equals(jrf.getName())) {
            valor = Consulta.getBanco(detalles.get(indiceParticipanteActual).getProducto().getCodigoProducto(),codigoProveedor).getPrecioUnidad();
        }

        return valor;
    }
    
}
